資料表規劃是設計資料庫模型的第一步。它涉及確定應用程序所需的資料表、每個表的欄位以及這些表之間的關聯。良好的資料表設計能夠保證數據的一致性、完整性和高效性。
在開始設計資料表之前,首先要了解應用程序的需求。進行需求分析時,需要回答以下問題:
應用程序需要哪些主要實體?
每個實體需要哪些屬性?
實體之間有何種關聯?
在建立資料庫模型之前,我們先來規劃需要用到哪些資料表:
User // 會員資料表
Manufacturer // 賣家資料表
Product // 商品資料表
ProductClass // 商品分類
Shop // 購物車
Order // 訂單
Item // 訂單下的項目
QuickDBD(Quick Database Diagram)是一個網頁應用程式,用於快速創建和設計關聯式數據庫結構的圖表。以下是 QuickDBD 的一些主要特點和功能介紹:
簡單易用: 使用簡單的文本語法來定義數據表及其欄位,QuickDBD 會即時生成數據庫結構圖。
即時預覽: 在輸入表結構時,可以即時查看數據庫設計圖的變化,方便快速調整和校對。
支持外鍵: 能夠清晰地顯示表之間的外鍵關係,幫助理解數據表的關聯性。
自動排版: 生成的數據庫結構圖會自動進行排版,使得圖表更具可讀性。
支持多種格式導出: 可以將設計好的數據庫圖表導出為 PDF、PNG、SVG 等格式,以便分享和保存。
上面介紹完QuickDBD的基本資料,現在來正式使用QuickDBD
基本上把上面規劃好的資料表按照QuickDBD的語言格式打上去,整個資料表的關聯就一清二楚了!
https://app.quickdatabasediagrams.com/#/d/K2WxO0
"User"
-
id PK int
name string
password string
"Manufacturer"
-
id PK int
name string
password string
"Product"
-
id PK int
name string
imager string
remarks string
number int
manufacturer_id int FK >- "Manufacturer".id
product_class_id int FK >- "ProductClass".id
"ProductClass"
-
id PK int
class_name string
"Shop"
-
id PK int
CreatedAt datetime
user_id int FK >- "User".id
manufacturer_id int FK >- "Manufacturer".id
product_id int FK >- "Product".id
number int
"Order"
-
id PK int
CreatedAt datetime
order_number string
adress string
phone string
price decimal
user_id int FK >- "User".id
manufacturer_id int FK >- "Manufacturer".id
payment string
"Item"
-
id PK int
order_id int FK >- "Order".id
product_id int FK >- "Product".id
product_name string
price decimal
user_id int FK >- "User".id
manufacturer_id int FK >- "Manufacturer".id
做這個最主要的用意是讓資料表規劃更方便,有跟人合作的話也方便你展示給別人看
在資料表之間建立正確的關聯是確保數據完整性的關鍵:
一對多: 例如,一個 User 可以有多個 Order。這種關聯可以通過外鍵來實現。
多對多: 例如,一個 Order 可以包含多個 Product,而一個 Product 也可以出現在多個 Order 中。這種關聯通常通過中介表(如 OrderItem)來處理。
正規化: 確保資料表設計符合正規化原則,以避免數據冗餘和更新異常。
索引: 根據查詢需求設計索引,以提高查詢效率。
安全性: 對敏感信息(如密碼)進行加密,保護用戶隱私。
性能: 定期分析和優化資料表,以提升系統性能。
好了以上就是這次專案會用到的資料表,接下來明天會來把這些表塞進資料庫裡面~